package com.chenfan.mcn.model.vo;

import com.chenfan.mcn.extension.log.FieldDesc;
import com.chenfan.mcn.enums.YearStatusEnum;
import com.chenfan.mcn.extension.log.FieldTypeEnum;
import lombok.Data;

import java.util.Objects;

/**
 * @Author liuyang
 * @Date 2021/3/26
 * @Time 11:42
 * @Version V1.0
 **/
@Data
public class YearSupplementaryAgreementDictVO {

    /**
     * 补充协议id
     */
    private Long id;

    /**
     * 年框合同补充协议号
     */
    private String agreementCode;

    /**
     * 年框合同id
     */
    private Long yearId;

    /**
     * 主要变更内容（1-我司合同主体，2-优惠政策，3-其他）
     */
    @FieldDesc(value = "主要变更内容")
    private String mainChanges;

    /**
     * 变更内容说明
     */
    @FieldDesc(value = "变更内容说明")
    private String changeContent;

    /**
     * 变更前我司合同主体（数据字典）
     */
    @FieldDesc(value = "变更前我司合同主体")
    private String contactSubjectBeforeChange;

    /**
     * 变更后我司合同主体（数据字典）
     */
    @FieldDesc(value = "变更后我司合同主体")
    private String contactSubjectAfterChange;


    /**
     * 变更前折扣返点审批单
     */
    @FieldDesc(value = "变更前折扣返点审批单")
    private String discountApprovalBeforeChange;

    /**
     * 变更后折扣返点审批单
     */
    @FieldDesc(value = "变更后折扣返点审批单")
    private String discountApprovalAfterChange;

    /**
     * 附件
     */
    @FieldDesc(value = "附件", fieldType = FieldTypeEnum.FILE)
    private String enclosure;

    /**
     * 备注
     */
    @FieldDesc(value = "备注")
    private String remark;

    /**
     * 单据状态:0_待提交、1_审批中、2_审批通过、3_审批拒绝、4_已撤回、5_已作废。
     */
    private Integer status;

    /**
     * 单据状态名称
     */
    @FieldDesc(value = "单据状态")
    private String statusName;

    public String getStatusName() {
        if (Objects.nonNull(getStatus())) {
            return YearStatusEnum.getStatusName(getStatus());
        }
        return null;
    }
}
